A variety of data communication and processing devices are used to transmit and analyze sequences of digital data. Such a sequence, commonly in a desired protocol, is ordered and organized by a set of rules and regulations, referred to as a protocol specification. A packet or logical unit of such a protocol is termed a protocol data unit (PDU).
Different applications are used to analyze protocols in data communications. These applications may decode the protocol and validate its correctness. Protocol analyzers that monitor a live network topology are one type of such an application. This may allow the user to view summary and detail information for each packet. However, such an application is limited to data capture. Another protocol analyzer may capture the actual packets and perform statistical analysis, discerning protocol and application problems. Such protocol analysis applications are reliant on the protocol that it analyzes. In the event the protocol specification is changed or a new protocol is analyzed, the system will no longer function properly. While common protocols are easily handled and decoders are widely available for these, less common protocols may be covered scantily or not at all. Typically, the more proprietary a protocol, the less likely that there will be a widely available decoder for it.
Thus, there is a need for a system that can decode a great number of protocols, without being dependant on a protocol specification that might not be available. There is a need for a system that is scalable and handles changes or new protocols with little or no additional work.